const path = require('path')
const resolve = (dir) => {
    return path.join(__dirname, dir)
}

module.exports = {
  publicPath: '/', //部署项目的时候的基本url,替代原来的Baseurl,默认是'/'
  //outputDir: "dist", //运行npm run build 时的打包文件夹
  //assetsDir: "", //放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录
  //indexPath: "index.html", //指定生成的index.html输出路径
  filenameHashing: true,
  lintOnSave: false,
  chainWebpack: (config)=>{
    // 配置路径别名
    config.resolve.alias
        .set('@', resolve('./src'))
        .set('lib@', resolve('./src/library'))
        .set('api@', resolve('./src/api'))
        .set('assets@', resolve('./src/assets'))
  },
  pages: {
    'login': {
      entry: 'src/pages/login/main.js',
      template: 'public/login.html',
      filename: 'login.html',
      title: '登录',
    },
    'rule-engine': {
      // page 的入口
      entry: 'src/pages/rule-engine/main.js',
      // 模板来源
      template: 'public/rule-engine.html',
      // 在 dist/index.html 的输出
      filename: 'rule-engine.html',
      // 当使用 title 选项时，
      // template 中的 title 标签需要是 <title><%= htmlWebpackPlugin.options.title %></title>
      title: '规则引擎',
      // 在这个页面中包含的块，默认情况下会包含
      // 提取出来的通用 chunk 和 vendor chunk。
      chunks: ['chunk-vendors', 'chunk-common', 'rule-engine'],
    },
    'node-list': {
      entry: 'src/pages/node-list/main.js',
      template: 'public/node-list.html',
      filename: 'node-list.html',
      title: '节点管理',
      chunks: ['chunk-vendors', 'chunk-common', 'node-list'],
    },
    'rule-template': {
      entry: 'src/pages/rule-template/main.js',
      template: 'public/rule-template.html',
      filename: 'rule-template.html',
      title: '规则模板',
      chunks: ['chunk-vendors', 'chunk-common', 'rule-template'],
    },
    'rule-management': {
      entry: 'src/pages/rule-management/main.js',
      template: 'public/rule-management.html',
      filename: 'rule-management.html',
      title: '规则管理',
      chunks: ['chunk-vendors', 'chunk-common', 'rule-management'],
    }
  },
  devServer: {
    host: 'localhost', //请求路径
    port: '8090', //请求端口，当同时运行多个项目时就需要配置这个端口
    https: false,
    hotOnly: true, //是否热更新
    open: true, //是否自动启动浏览器
    // history模式下的url会请求到服务器端，但是服务器端并没有这一个资源文件，就会返回404，所以需要配置这一项
    historyApiFallback: {
      index: '/rule-engine.html', //与output的publicPath有关(HTMLplugin生成的html默认为index.html)
    },
    proxy: {
        '/api': {
            target: process.env.VUE_APP_DEVSERVE_PROXY,
            changeOrigin: true,
            pathRewrite: {
                '^/api': '',
            },
        },
        '/scada': {
            target: process.env.VUE_APP_WEB_PROXY,
            changeOrigin: true,
            pathRewrite: {
                '^/scada': '',
            },
        },
    },
  },
}
